home *** CD-ROM | disk | FTP | other *** search
/ EuroCD 3 / EuroCD 3.iso / Programming / SecalDemo / Projects / Silly / Silly.scl < prev    next >
Text File  |  1998-06-24  |  15KB  |  642 lines

  1. /******************************************************************************\
  2. **  Silly game (uses the Extension) for Secal                                 **
  3. **  Requires Kickstart 2                                                      **
  4. \******************************************************************************/
  5.  
  6.  
  7. go main;
  8.  
  9.  
  10. #-------------------------------------------------------------------------------
  11.  
  12.  
  13. def EVILFIRETEMPOMAX = 3000;
  14. def EVILFIRETEMPO0 = 800;
  15. def EVILFIRETEMPOGROW = 100;
  16.  
  17. def SHIPSPEED = 4;
  18. def EVILSPEEDX = 1;
  19. def EVILSPEEDY = 2;
  20. def EVILFIRESPEED = 4;
  21. def SHIPFIRESPEED = 4;
  22.  
  23.  
  24. #-------------------------------------------------------------------------------
  25.  
  26.  
  27. include "inc/utility/tagitem.inc";
  28. include "inc/graphics/modeid.inc";
  29. include "inc/intuition/screens.inc";
  30.  
  31. include "ext/ext.inc";                # INTERFACE FOR EXTENSION
  32. inclib "ext/ext.lib";                    # USE EXTENSION LIB
  33.  
  34.  
  35. /******************************************************************************\
  36. ************                      M A I N                           ************
  37. \******************************************************************************/
  38.  
  39.  
  40. obj myscr,mymus:ulong;
  41.  
  42.  
  43. #-------------------------------------------------------------------------------
  44.  
  45.  
  46. main:
  47. x_Init;                                                # INITIALIZE EXTENSION
  48. if d0 then
  49.     x_GraphicsStart;                        # START GRAPHICS SUBSYSTEM
  50.     if d0 then
  51.         x_AudioStart(%1111);            # START AUDIO SUBSYSTEM
  52.         if d0 then
  53.             x_Scr_Open(PAL_MONITOR_ID,320,320,4,0,@scrcolors,@scrtags); myscr:=a0;
  54.             if myscr then
  55.                 x_Scr_AddBmp(myscr);            # ADD ANOTHER BUFFER
  56.                 if d0 then
  57.                     x_Mus_New(@modul,%0011); mymus:=a0;
  58.                     if mymus then
  59.  
  60.                         x_SetTaskPri(0,31);        # CHANGE TASKPRI FOR SMOOTH ACTION
  61.                         call silly;
  62.                         x_RevertTaskPri;        # REVERT TO PREVIOUS PRI
  63.                     ;
  64.                 ;
  65.             ;
  66.         ;
  67.     ;
  68.     x_Done;                                # SHUT DOWN EXTENSION, LET IT CLEAN UP INSTEAD OF US, TOO
  69.                                                 # (SCREEN, MUSIC, ETC)
  70. ;
  71.  
  72. d0.l:=0;
  73. rts;                                                            # MAIN
  74.  
  75.  
  76.  
  77.  
  78. scrcolors:
  79. dc.l $000000,$eeeeee,$cccccc,$aaaaaa,$888888,$666666,$444444,$222222;
  80. dc.l $eedd22,$ee9911,$dd5511,$dd1100,$003300,$116600,$449900,$88cc00;
  81.                                                 # SCREEN COLORS IN THE RGB8 FORMAT OF THE EXTENSION
  82.  
  83.  
  84. scrtags:
  85. dc.l SA_Height,256;
  86. dc.l TAG_DONE;                            # ADDITIONAL TAG FOR DISPLAY CLIPPING
  87.  
  88.  
  89. /******************************************************************************\
  90. **********                          S I L L Y                         **********
  91. \******************************************************************************/
  92.  
  93.  
  94. obj sprite[14]:x_spr;                    # EXTENSION SPRITES
  95.  
  96. obj mysprites:ulong;
  97.  
  98. obj scrphase,scroffset:word;
  99. obj workbmp:ulong;
  100.  
  101.  
  102. obj shipexplcount:word;
  103. obj evildown,evilvx:word;
  104. obj evilfiretempo:word;
  105.  
  106.  
  107. #*******************************************************************************
  108.  
  109.  
  110. silly:
  111. x_SetFilter(-1);
  112.  
  113. call sillyinit;
  114. if d0 then
  115.     x_Mus_Play(mymus,0);                # START MUSIC
  116.  
  117.     scrphase:=0; scroffset:=63;
  118.     x_WaitTOF;
  119.     repeat
  120.         call changescreen;
  121.  
  122.         call doship;                            # PROCESS SHIP
  123.         call doshipfire;                    # PROCESS SHIP SHOT
  124.  
  125.         call arethereevils;
  126.         if not d0 then
  127.             call restartevils;
  128.  
  129.             if evilfiretempo<EVILFIRETEMPOMAX then
  130.                 evilfiretempo:=evilfiretempo+EVILFIRETEMPOGROW;
  131.             ;
  132.         ;                                                    # IF ALL TAKEN DOWN, RESTART
  133.  
  134.         call doevils;                            # PROCESS EVILS
  135.         call doevilfires;                    # PROCESS EVIL SHOTS
  136.  
  137.  
  138.         x_Spr_Restore(mysprites,workbmp,@backgndscr,40);
  139.                                                         # RESTORE BACKGND OF ENTIRE SPR GROUP
  140.         x_Spr_Draw(mysprites,workbmp,0,scroffset);
  141.                                                         # DRAW ENTIRE SPR GROUP
  142.  
  143.         if shipexplcount<>-1 then shipexplcount:=shipexplcount+1;;
  144.     until shipexplcount>90;
  145.  
  146.     x_Mus_Stop(mymus);
  147.  
  148.     call sillydone;
  149. ;
  150. rts;                                                            # SILLY
  151.  
  152.  
  153. #*******************************************************************************
  154.  
  155.  
  156. #                                                                    D0=SUCCESS
  157.  
  158. sillyinit:
  159. push d2\d3\d4\a2\a3;
  160.  
  161. x_Randomize;
  162.  
  163. x_Spr_NewGrp(@sprite[0],14,XSF_BGIMAGE|XSF_MPLANEMASK,4); mysprites:=a0;
  164.                                                         # INIT SPRITE GROUP
  165. if mysprites then
  166.     x_Spr_PrepGfx(@mysgfx,mysprites,-1);
  167.     if d0 then
  168.         x_Scr_GetBmp(myscr,0); a2:=x_bmp(a0).planes;
  169.         x_Scr_GetBmp(myscr,1); a3:=x_bmp(a0).planes;
  170.         a1:=@backgndscr; d4.l:=x_bmp(a0).rowwidth-40;
  171.         for d3:=4 downto 0 do
  172.             a0:=@backgnd;
  173.             for d2:=64*4-1 downto 0 do
  174.                 for d1:=40>>2-1 downto 0 do
  175.                     d0.l:=[a0+];
  176.                     [a1+].l:=d0; [a2+].l:=d0; [a3+].l:=d0;
  177.                 ;
  178.                 a2:=a2+d4; a3:=a3+d4;
  179.             ;
  180.         ;                                                # COPY BACKGND IMAGE
  181.  
  182.         evilfiretempo:=EVILFIRETEMPO0;
  183.         shipexplcount:=-1;
  184.  
  185.  
  186.         sprite[0].on:=-1; sprite[0].x:=33*8; sprite[0].y:=27*8;
  187.         x_Spr_ChngGfx(@shipmsgfx,@sprite[0],0);    # LOAD SHIP GFX INTO SPRITE 0
  188.  
  189.         x_Spr_ChngGfx(@shipfiresgfx,@sprite[1],0);    # LOAD SHIP FIRE GFX INTO SPR 1
  190.  
  191.         call restartevils;
  192.  
  193.         a2:=@sprite[10];
  194.         for d2:=3 downto 0 do
  195.             x_Spr_ChngGfx(@evilfiresgfx,a2,0);
  196.             a2:=a2+sizeof(x_spr);
  197.         ;                                                # LOAD EVIL FIRE GFX INTO SPR 10-13
  198.  
  199.         d0:=-1;                                    # EVERYTHING SUCCESSFULL
  200.     else
  201.         x_Spr_DisposeGrp(mysprites);    # INIT FAILED, SO WE CAN IMMEDIATELY
  202.                                                         # FREE THE SPRITE GROUP
  203.         d0:=0;
  204.     ;
  205. else
  206.     d0:=0;
  207. ;
  208.  
  209. pop d2\d3\d4\a2\a3;
  210. rts;                                                            # SILLYINIT
  211.  
  212.  
  213. #-------------------------------------------------------------------------------
  214.  
  215.  
  216. sillydone:
  217. while [$dff016] and $400 do x_Delay(1);;    # DIRTY CHECK FOR RIGHT MOUSE
  218.  
  219. for d2:=$f800 downto 0 step $800 do
  220.     x_RGB8Intensity(@scrcolors,16,@colorbuf,d2,$ffffff);
  221.     x_WaitTOF;
  222.     x_Scr_LoadRGB8(myscr,@colorbuf,0,16);
  223. ;                                                                # FADE TO WHITE
  224. for d2:=$f800 downto 0 step $800 do
  225.     x_RGB8Intensity(@whitecolors,16,@colorbuf,d2,0);
  226.     x_WaitTOF;
  227.     x_Scr_LoadRGB8(myscr,@colorbuf,0,16);
  228. ;                                                                # FADE TO BLACK
  229. rts;                                                            # SILLYDONE
  230.  
  231.  
  232.  
  233.  
  234. bss;
  235.  
  236. colorbuf:                                ds.l 16;
  237.  
  238.  
  239. code;
  240.  
  241. whitecolors:                        dcb.l 16,$ffffff;
  242.  
  243.  
  244. #-------------------------------------------------------------------------------
  245.  
  246.  
  247. restartevils:
  248. push d2\a2\a3;
  249.  
  250. evildown:=0; evilvx:=EVILSPEEDX;
  251.  
  252. a2:=@evilstartpos; a3:=@sprite[2];
  253. for d2:=7 downto 0 do
  254.     x_spr(a3).userdata:=0;
  255.     x_spr(a3).on:=-1;
  256.     x_spr(a3).x:=[a2+]*8; x_spr(a3).y:=[a2+]*8;
  257.  
  258.     x_Rnd; x_Spr_ChngGfx(@evilsgfx,a3,d0 and 31);        # RELOAD EVIL GFX
  259.  
  260.     a3:=a3+sizeof(x_spr);
  261. ;
  262.  
  263. pop d2\a2\a3;
  264. rts;                                                            # RESTARTEVILS
  265.  
  266.  
  267.  
  268. evilstartpos:
  269. dc    1,1,  8,1,  15,1,  22,1;
  270. dc    1,8,  8,8,  15,8,  22,8;
  271.  
  272.  
  273. #*******************************************************************************
  274.  
  275.  
  276. changescreen:
  277. x_Scr_ActivateBmp(myscr,scrphase,-1,scroffset);        # CHANGE SCR BUFS
  278. scrphase:=scrphase xor 1; scroffset:=(scroffset-1) and 63;
  279. x_Scr_GetBmp(myscr,scrphase); workbmp:=a0;
  280. rts;                                                            # CHANGESCREEN
  281.  
  282.  
  283. #-------------------------------------------------------------------------------
  284.  
  285.  
  286. doship:
  287. push d2;
  288.  
  289. if shipexplcount=-1 then
  290.     d0:=1; call readjoyport; d2:=d0;
  291.  
  292.     if d2 and JOYLEFT then
  293.         x_Spr_ChngGfx(@shiplsgfx,@sprite[0],-1);
  294.         if sprite[0].x>8 then sprite[0].x:=sprite[0].x-SHIPSPEED;;
  295.     elif d2 and JOYRIGHT then
  296.         x_Spr_ChngGfx(@shiprsgfx,@sprite[0],-1);
  297.         if sprite[0].x<33*8 then sprite[0].x:=sprite[0].x+SHIPSPEED;;
  298.     else
  299.         x_Spr_ChngGfx(@shipmsgfx,@sprite[0],-1);
  300.     ;                                                        # HORIZONTAL CONTROL
  301.  
  302.     if d2 and JOYFIRE andif not sprite[1].on then
  303.         d0:=(SHIPPIXWIDTH-SHIPFIREPIXWIDTH) lsr 1;
  304.         d1:=sprite[1].height-SHIPFIRESPEED;
  305.  
  306.         sprite[1].on:=-1;
  307.         sprite[1].x:=sprite[0].x+d0; sprite[1].y:=sprite[0].y-d1;
  308.         x_PlaySoundQ(0,@shipfiresound,@end_shipfiresound-@shipfiresound,0,0,3,428,64);
  309.     ;                                                        # FIRE
  310. else
  311.     if sprite[0].cycle>0 then sprite[0].on:=0;;
  312. ;                                                    # DURING EXPLOSION
  313.  
  314. pop d2;
  315. rts;                                                            # DOSHIP
  316.  
  317.  
  318.  
  319.  
  320.  
  321. doshipfire:
  322. push d2\a2;
  323.  
  324. sprite[1].y:=sprite[1].y-SHIPFIRESPEED;
  325. if sprite[1].y<-SHIPFIREHEIGHT then sprite[1].on:=0;;
  326.  
  327. if sprite[1].on then
  328.     a2:=@sprite[2];
  329.     for d2:=7 downto 0 do
  330.         if x_spr(a2).on andif x_spr(a2).userdata=0 then
  331.             x_Spr_CollChk(0,@sprite[1],a2);        # COLLISSION CHECK WITH EVIL
  332.             if d0 then
  333.                 sprite[1].on:=0;
  334.                 x_spr(a2).userdata:=-1;
  335.                 x_Spr_ChngGfx(@evilexplsgfx,a2,0);
  336.                 x_PlaySoundQ(1,@evilexplsound,@end_evilexplsound-@evilexplsound,0,0,2,428,64);
  337.             ;                                                # WE HIT AN EVIL
  338.         ;
  339.         a2:=a2+sizeof(x_spr);
  340.     ;
  341. ;
  342.  
  343. pop d2\a2;
  344. rts;                                                            # DOSHIPFIRE
  345.  
  346.  
  347. #-------------------------------------------------------------------------------
  348.  
  349.  
  350. #                                                                    D0=EVILS EXIST
  351.  
  352. arethereevils:
  353. d0:=0; a0:=@sprite[2];
  354. for d1:=7 downto 0 do
  355.     if x_spr(a0).on then d0:=-1;;
  356.     a0:=a0+sizeof(x_spr);
  357. ;
  358. rts;                                                            # ARETHEREEVILS
  359.  
  360.  
  361. #-------------------------------------------------------------------------------
  362.  
  363.  
  364. doevils:
  365. push d2\a2\a3;
  366.  
  367. a2:=@sprite[2];
  368. for d2:=7 downto 0 do
  369.     if x_spr(a2).on andif x_spr(a2).userdata=0 then
  370.         if evildown=0 then x_spr(a2).x:=x_spr(a2).x+evilvx;
  371.         else x_spr(a2).y:=x_spr(a2).y+EVILSPEEDY;;
  372.     ;
  373.     a2:=a2+sizeof(x_spr);
  374. ;                                                            # MOVEMENT
  375.  
  376. if evildown then
  377.     evildown:=evildown-1;
  378.     if evildown=0 then evilvx:=-evilvx;;
  379. ;
  380.  
  381.  
  382. a2:=@sprite[2];
  383. for d2:=0 upto 7 do
  384.     if d2=0 orif d2=4 then a3:=@sprite[10];;
  385.  
  386.     if x_spr(a2).on andif x_spr(a2).userdata=0 then
  387.         if evildown=0 then
  388.             if (evilvx<0 andif x_spr(a2).x<4)
  389.             orif (evilvx>0 andif x_spr(a2).x>284) then
  390.                 evildown:=8;
  391.             ;
  392.         ;                                                    # RIGHT OR LEFT EDGE REACHED
  393.  
  394.         x_Spr_CollChk(0,@sprite[0],a2);        # COLLISSION CHECK WITH SHIP
  395.         if d0 then
  396.             x_spr(a2).userdata:=-1;
  397.             x_Spr_ChngGfx(@evilexplsgfx,a2,0);
  398.             x_PlaySoundQ(1,@evilexplsound,@end_evilexplsound-@evilexplsound,0,0,2,428,64);
  399.  
  400.             if shipexplcount=-1 then
  401.                 shipexplcount:=0;
  402.                 x_Spr_ChngGfx(@shipexplsgfx,@sprite[0],0);
  403.                 x_PlaySoundQ(1,@shipexplsound,@end_shipexplsound-@shipexplsound,0,0,3,428,64);
  404.             ;                                                # EXPLODE SHIP
  405.         ;
  406.  
  407.         if x_spr(a2).y>27*8 then
  408.             x_spr(a2).userdata:=-1;
  409.             x_Spr_ChngGfx(@evilexplsgfx,a2,0);
  410.             x_PlaySoundQ(1,@evilexplsound,@end_evilexplsound-@evilexplsound,0,0,2,428,64);
  411.  
  412.             if shipexplcount=-1 then
  413.                 shipexplcount:=0;
  414.                 x_Spr_ChngGfx(@shipexplsgfx,@sprite[0],0);
  415.                 x_PlaySoundQ(1,@shipexplsound,@end_shipexplsound-@shipexplsound,0,0,3,428,64);
  416.             ;
  417.         ;                                                    # SCREEN BOTTOM REACHED
  418.     ;
  419.  
  420.  
  421.     if x_spr(a2).on andif x_spr(a2).userdata=0 then
  422.         if not x_spr(a3).on then
  423.             a0:=a2+4*sizeof(x_spr);
  424.             if d2>=4 orif not x_spr(a0).on then
  425.  
  426.                 x_Rnd;
  427.                 if d0 and $7fff<evilfiretempo then
  428.                     d0:=(EVILPIXWIDTH-EVILFIREPIXWIDTH)>>1;
  429.                     d1:=x_spr(a2).height-EVILFIRESPEED;
  430.  
  431.                     x_spr(a3).on:=-1;
  432.                     x_spr(a3).x:=x_spr(a2).x+d0; x_spr(a3).y:=x_spr(a2).y+d1;
  433.                     x_PlaySoundQ(0,@evilfiresound,@end_evilfiresound-@evilfiresound,0,0,2,428,64);
  434.                 ;                                            # EVIL FIRES
  435.             ;
  436.         ;
  437.     elif x_spr(a2).on andif x_spr(a2).userdata then
  438.         if x_spr(a2).cycle>0 then x_spr(a2).on:=0;;
  439.     ;
  440.  
  441.     a2:=a2+sizeof(x_spr); a3:=a3+sizeof(x_spr);
  442. ;
  443.  
  444. pop d2\a2\a3;
  445. rts;                                                            # DOEVILS
  446.  
  447.  
  448.  
  449.  
  450.  
  451. doevilfires:
  452. push d2\a2;
  453.  
  454. a2:=@sprite[10];
  455. for d2:=3 downto 0 do
  456.     if x_spr(a2).on then
  457.         x_spr(a2).y:=x_spr(a2).y+EVILFIRESPEED;
  458.         if x_spr(a2).y>244 then x_spr(a2).on:=0;;
  459.     ;
  460.  
  461.     if x_spr(a2).on then
  462.         x_Spr_CollChk(0,a2,@sprite[0]);        # COLLISSION CHECK WITH SHIP
  463.         if d0 then
  464.             x_spr(a2).on:=0;
  465.             if shipexplcount=-1 then
  466.                 shipexplcount:=0;
  467.                 x_Spr_ChngGfx(@shipexplsgfx,@sprite[0],0);
  468.                 x_PlaySoundQ(1,@shipexplsound,@end_shipexplsound-@shipexplsound,0,0,3,428,64);
  469.             ;
  470.         ;
  471.     ;
  472.  
  473.     a2:=a2+sizeof(x_spr);
  474. ;
  475.  
  476. pop d2\a2;
  477. rts;                                                            # DOEVILFIRES
  478.  
  479.  
  480. #******************************************************************************#
  481. # THE FOLLOWING BLOCK NORMALLY ISN'T IN THE SOURCE, THE EXTENSION WILL CONTAIN #
  482. # THIS KIND OF FUNCTIONS.                                                      #
  483. #******************************************************************************#
  484.  
  485.  
  486. /******************************************************************************\
  487. **********                  M I S C E L L A N E O U S                 **********
  488. \******************************************************************************/
  489.  
  490.  
  491. def JOYRIGHT=$1;
  492. def JOYLEFT=$2;
  493. def JOYDOWN=$4;
  494. def JOYUP=$8;
  495. def JOYFIRE=$10;
  496.  
  497.  
  498.  
  499. # D0=PORTNUM                                            D0=STATE FLAGS
  500.  
  501. readjoyport:
  502. d1:=0;
  503. if d0=0 then
  504.     if not [$bfe001].b and $40 then d1:=d1 or JOYFIRE;;        # FIRE
  505.     d0:=Custom($dff000).joy0dat;
  506. else
  507.     if not [$bfe001].b and $80 then d1:=d1 or JOYFIRE;;        # FIRE
  508.     d0:=Custom($dff000).joy1dat;
  509. ;
  510.  
  511. if d0 and $200 then d1:=d1 or JOYLEFT;;                # LEFT
  512. if d0 and 2 then d1:=d1 or JOYRIGHT;;                # RIGHT
  513. if (d0<<1 xor d0) and 2 then d1:=d1 or JOYDOWN;;        # DOWN
  514. if (d0<<1 xor d0) and $200 then d1:=d1 or JOYUP;;        # UP
  515.  
  516. d0:=d1;
  517. rts;                                                            # READJOYPORT
  518.  
  519.  
  520. /******************************************************************************\
  521. ********************************************************************************
  522. \******************************************************************************/
  523.  
  524.  
  525. def SHIPPIXWIDTH = 48;
  526. def SHIPHEIGHT = 32;
  527. def SHIPWIDTH = ((SHIPPIXWIDTH+15) >> 3 and -2);
  528.  
  529. def SHIPFIREPIXWIDTH = 8;
  530. def SHIPFIREHEIGHT = 16;
  531. def SHIPFIREWIDTH = ((SHIPFIREPIXWIDTH+15) >> 3 and -2);
  532.  
  533. def EVILPIXWIDTH = 32;
  534. def EVILHEIGHT = 26;
  535. def EVILWIDTH = ((EVILPIXWIDTH+15) >> 3 and -2);
  536.  
  537. def EVILFIREPIXWIDTH = 8;
  538. def EVILFIREHEIGHT = 8;
  539. def EVILFIREWIDTH = ((EVILFIREPIXWIDTH+15) >> 3 and -2);
  540.  
  541.  
  542.  
  543. data;
  544.  
  545. mysgfx:                                    # SPRITE GFX STRUCTURES, WHEN PREPARED (X_SPR_PREPGFX),
  546.                                                 # THESE CAN BE INSTALLED INTO THE SPRITES
  547. evilsgfx:
  548. dc EVILWIDTH,EVILHEIGHT;
  549. dc.l @evilgfx;
  550. dc 1,32;
  551. dc 0,0,EVILPIXWIDTH,EVILHEIGHT;
  552. ds.b 12;
  553.  
  554. evilexplsgfx:
  555. dc EVILWIDTH,EVILHEIGHT;
  556. dc.l @evilexplgfx;
  557. dc 1,16;
  558. dc 0,0,EVILPIXWIDTH,EVILHEIGHT;
  559. ds.b 12;
  560.  
  561. evilfiresgfx:
  562. dc EVILFIREWIDTH,EVILFIREHEIGHT;
  563. dc.l @evilfiregfx;
  564. dc 1,16;
  565. dc 0,0,EVILFIREPIXWIDTH,EVILFIREHEIGHT;
  566. ds.b 12;
  567.  
  568. shiplsgfx:
  569. dc SHIPWIDTH,SHIPHEIGHT;
  570. dc.l @shiplgfx;
  571. dc 2,8;
  572. dc 0,0,SHIPPIXWIDTH,SHIPHEIGHT;
  573. ds.b 12;
  574.  
  575. shipmsgfx:
  576. dc SHIPWIDTH,SHIPHEIGHT;
  577. dc.l @shipmgfx;
  578. dc 2,8;
  579. dc 0,0,SHIPPIXWIDTH,SHIPHEIGHT;
  580. ds.b 12;
  581.  
  582. shiprsgfx:
  583. dc SHIPWIDTH,SHIPHEIGHT;
  584. dc.l @shiprgfx;
  585. dc 2,8;
  586. dc 0,0,SHIPPIXWIDTH,SHIPHEIGHT;
  587. ds.b 12;
  588.  
  589. shipexplsgfx:
  590. dc SHIPWIDTH,SHIPHEIGHT;
  591. dc.l @shipexplgfx;
  592. dc 1,16;
  593. dc 0,0,SHIPPIXWIDTH,SHIPHEIGHT;
  594. ds.b 12;
  595.  
  596. shipfiresgfx:
  597. dc SHIPFIREWIDTH,SHIPFIREHEIGHT;
  598. dc.l @shipfiregfx;
  599. dc 1,16;
  600. dc 0,0,SHIPFIREPIXWIDTH,SHIPFIREHEIGHT;
  601. ds.b 12;
  602.  
  603. dc.l 0;                                    # TERMINATES
  604.  
  605.  
  606.  
  607. data_c;
  608.  
  609. backgnd:                                incbin "data/background.gfx";
  610.  
  611. evilexplgfx:                        incbin "data/evil_expl.gfx";
  612. shipexplgfx:                        incbin "data/ship_expl.gfx";
  613. evilgfx:                                incbin "data/evil.gfx";
  614. shiplgfx:                                incbin "data/ship_l.gfx";
  615. shiprgfx:                                incbin "data/ship_r.gfx";
  616. shipmgfx:                                incbin "data/ship_m.gfx";
  617. evilfiregfx:                        incbin "data/evil_fire.gfx";
  618. shipfiregfx:                        incbin "data/ship_fire.gfx";
  619.  
  620. evilfiresound:                    incbin "data/evil_fire.sfx";
  621. end_evilfiresound:
  622. shipfiresound:                    incbin "data/ship_fire.sfx";
  623. end_shipfiresound:
  624. evilexplsound:                    incbin "data/evil_expl.sfx";
  625. end_evilexplsound:
  626. shipexplsound:                    incbin "data/ship_expl.sfx";
  627. end_shipexplsound:
  628.  
  629. modul:                                    incbin "data/mod.silly";
  630.  
  631. align 2;
  632.  
  633.  
  634.  
  635. bss_c;
  636.  
  637. backgndscr:                            ds.b 40*320*4;
  638.  
  639.  
  640. #*******************************************************************************
  641.  
  642.